package com.burst.reptile.modular.monitor.mapper;

import com.burst.reptile.modular.monitor.entity.SysJob;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
 * <p>
 * 定时任务调度表 Mapper 接口
 * </p>
 *
 * @author wujin
 * @since 2020-06-09
 */
public interface SysJobMapper extends BaseMapper<SysJob> {
	
	/**
	 * 分页查询调度任务日志集合
	 * 
	 * @param page 分页信息
	 * @param job 调度信息
	 * @return 操作日志集合
	 */
	Page<SysJob> selectPageJobList(@Param("page") Page<SysJob> page, @Param("job") SysJob job);

	/**
	 * 查询调度任务日志集合
	 * 
	 * @param job 调度信息
	 * @return 操作日志集合
	 */
	List<SysJob> selectJobList(@Param("job") SysJob job);

	/**
	 * 查询所有调度任务
	 * 
	 * @return 调度任务列表
	 */
	List<SysJob> selectJobAll();

	/**
	 * 通过调度ID查询调度任务信息
	 * 
	 * @param jobId 调度ID
	 * @return 角色对象信息
	 */
	SysJob selectJobById(@Param("jobId") Long jobId);

	/**
	 * 通过调度ID删除调度任务信息
	 * 
	 * @param jobId 调度ID
	 * @return 结果
	 */
	int deleteJobById(@Param("jobId") Long jobId);

	/**
	 * 批量删除调度任务信息
	 * 
	 * @param ids 需要删除的数据ID
	 * @return 结果
	 */
	int deleteJobByIds(Long[] ids);

	/**
	 * 修改调度任务信息
	 * 
	 * @param job 调度任务信息
	 * @return 结果
	 */
	int updateJob(SysJob job);

	/**
	 * 新增调度任务信息
	 * 
	 * @param job 调度任务信息
	 * @return 结果
	 */
	int insertJob(SysJob job);

}
